Software patches typically contain more than one binary in them, and in many cases only a smaller set of the binaries contained in the package actually need to be new. Other binaries (called dependent binaries from here on) are carried along because they are required for the changed binaries to function properly. When a new fix (patch) needs to be released, the latest version of all the binaries is typically included in the patch whether they need to be new or not. Testing of such patches can take several weeks to complete.
While these systems are effective for distributing patches, they include a number of disadvantages. First of all, the time to release the patches is relatively lengthy. There are also quality risks due to carrying more changes than are actually required. There is also an extra download cost for the customers in the inclusion of the additional information that is not actually needed. Furthermore, additional costs are incurred in that many corporate customers tend to test the patches in a test environment before they deploy them on their production servers. If more changes are shipped than necessary, the customers are required to do more testing than is actually needed.
The embodiment of the present invention is directed to providing a system and method that overcome the foregoing and other disadvantages. More specifically, the present invention is directed to a system and method that uses a last known good method for patches.